<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//ZH-CN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta http-equiv="imagetoolbar" content="no" />
	<title>Class AJAX</title>
	<link href="../resources/API_Help.css" type="text/css" rel="stylesheet" />
</head>

<body>
<!--打印本页-->
<div class="printCurrentPage">
	<img src="../resources/image/print.gif" align="absmiddle" />&nbsp;
	<a href="ajax_API.html" target="_blank">打印本页</a>
</div><br/>

<!--标题说明-->
<h1>Class AJAX</h1>
<b>定义于文件：</b>&nbsp;&nbsp;ajax.js
<div class="description">本类主要针对AJAX的常规应用进行了一些必要的封装。</div><br/>
<b>基本语法</b>
<div class="syntax">var ajax = new <b>AJAX</b>();</div>
<b>参数说明</b>
<div class="parameter"><li>无</li></div>
<b>依赖关系</b>
<div class="parameter">
	<a href="core_API.html">core.js</a>
</div><br/>
<a href="#properties">相关属性</a>&nbsp;&nbsp;-&nbsp;&nbsp;
<a href="#methods">相关方法</a>&nbsp;&nbsp;-&nbsp;&nbsp;
<a href="#events">相关事件</a>&nbsp;&nbsp;-&nbsp;&nbsp;
<a href="#examples">应用示例</a>
<hr>

<!--相关属性-->
<a name="properties"></a>
<h2>相关属性</h2>
<div class="properties">本类无相关属性。</div>

<!--相关方法-->
<a name="methods"></a>
<h2>相关方法</h2>
<table width="100%" cellspacing="0">
	<tbody>
		<tr>
			<td class="tableHead" width="83%">所有方法</td>
			<td class="tableHead" width="17%">所属类</td>
		</tr>
		<tr>
			<td class="tableLineLeft">
				<a href="#clearTimeout" class="methodLink">clearTimeout</a>()&nbsp;:&nbsp;none<br/>
				清除AJAX提交请求的超时检查设置。
			</td><td class="tableLineRight">AJAX</td>
		</tr>
		<tr>
			<td class="tableLineLeft alt">
				<a href="#get" class="methodLink">get</a>( <em>url:String</em>,&nbsp;&nbsp;<em>para:String</em>,&nbsp;&nbsp;<em>func:Function</em> )&nbsp;:&nbsp;none<br/>
				以GET方法向服务器提交请求。
			</td><td class="tableLineRight alt">AJAX</td>
		</tr>
		<tr>
			<td class="tableLineLeft">
				<a href="#post" class="methodLink">post</a>( <em>url:String</em>,&nbsp;&nbsp;<em>para:String</em>,&nbsp;&nbsp;<em>func:Function</em> )&nbsp;:&nbsp;none<br/>
				以POST方法向服务器提交请求。
			</td><td class="tableLineRight">AJAX</td>
		</tr>
		<tr>
			<td class="tableLineLeft alt">
				<a href="#setExceptionCallBack" class="methodLink">setExceptionCallBack</a>( <em>func:Function</em> )&nbsp;:&nbsp;none<br/>
				设置执行响应回调的异常处理函数。
			</td><td class="tableLineRight alt">AJAX</td>
		</tr>
		<tr>
			<td class="tableLineLeft">
				<a href="#setPeriodicalUpdater" class="methodLink">setPeriodicalUpdater</a>( <em>obj:Object</em> )&nbsp;:&nbsp;none<br/>
				设置AJAX定时循环更新的参数项。
			</td><td class="tableLineRight">AJAX</td>
		</tr>
		<tr>
			<td class="tableLineLeft alt">
				<a href="#setTimeout" class="methodLink">setTimeout</a>( <em>time:Number</em> )&nbsp;:&nbsp;none<br/>
				设置检查AJAX提交请求超时的时间范围。
			</td><td class="tableLineRight alt">AJAX</td>
		</tr>
		<tr>
			<td class="tableLineLeft">
				<a href="#setTimeoutCallBack" class="methodLink">setTimeoutCallBack</a>( <em>func:Function</em> )&nbsp;:&nbsp;none<br/>
				设置AJAX提交请求超时的回调函数。
			</td><td class="tableLineRight">AJAX</td>
		</tr>
		<tr>
			<td class="tableLineLeft alt">
				<a href="#start" class="methodLink">start</a>()&nbsp;:&nbsp;none<br/>
				启动AJAX的定时循环更新。
			</td><td class="tableLineRight alt">AJAX</td>
		</tr>
		<tr>
			<td class="tableLineLeft">
				<a href="#stop" class="methodLink">stop</a>()&nbsp;:&nbsp;none<br/>
				停止AJAX的定时循环更新。
			</td><td class="tableLineRight">AJAX</td>
		</tr>
		<tr>
			<td class="tableLineLeft alt">
				<a href="#submitForm" class="methodLink">submitForm</a>( <em>obj:String|Object</em>,&nbsp;&nbsp;<em>func:Function</em> )&nbsp;:&nbsp;none<br/>
				使用AJAX方式提交指定的FORM表单。
			</td><td class="tableLineRight alt">AJAX</td>
		</tr>
	</tbody>
</table>

<!--相关事件-->
<a name="events"></a>
<h2>相关事件</h2>
<div class="properties">本类无相关事件。</div><br/>

<hr>

<!--相关方法的详细说明-->
<h2>本类方法的详细说明</h2>
<div class="detailWrap">

<a name="clearTimeout"></a>
<div class="mdetail">
	<h3>clearTimeout</h3>
	<div class="functionDefine">public function clearTimeout()</div>
	<div class="mdetailDetails">
		清除AJAX提交请求的超时检查设置。<br/>
		当使用<a href="#setTimeout">setTimeout</a>方法设置了超时检查后, 可以用本方法清除超时检查设置。
	</div><br/>
	<div class="mdetailDetails"><b>参数</b>
		<ul><li>无</li></ul>
		<b>返回值</b>
		<ul><li>none</li></ul>
	</div>
	<div class="footer since">@since JSR2.0&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Return</a></div><br/>
</div>

<a name="get"></a>
<div class="mdetail alt">
	<h3>get</h3>
	<div class="functionDefine">public function get( url:String, para:String, func:Function )</div>
	<div class="mdetailDetails">
		以GET方法向服务器提交请求。<br/>以JAVA servlet后台为例, 在后台向页面返回结果时, 须在后台做如下设置：<br/>
		<div class="functionDefine">response.setContentType("text/html; charset=GBK");</div>
		遗留问题：在Mozilla Firefox Plus浏览器下, GET方法提交中文存在乱码问题, 见意提交的参数中有中文时使用POST方法。具体原因请参阅网络上的相关文章。
	</div><br/>
	<div class="mdetailDetails"><b>参数</b>
		<ul>
			<li><em>url</em> : String</li>
			<div class="subDesc">向服务器提交请求的目标URL。</div>
			<li><em>para</em> : String</li>
			<div class="subDesc">本次提交的所有参数集合。</div>
			<li><em>func</em> : Function</li>
			<div class="subDesc">请求响应后的回调函数名。<br/>
			在请求得到响应时, GET方法会自动将本次请求的 XMLHttpRequest 对象做为回调函数 func 的 this, 调用 func 函数。<br/>
			在回调函数中可以通过: this.responseText 或 this.responseXML 获得本次请求的结果。</div>
		</ul>
		<b>返回值</b>
		<ul><li>none</li></ul>
	</div>
	<div class="footer since">@since JSR1.0&nbsp;&nbsp;&nbsp;&nbsp;<a href="ajax_API.html">Return</a></div><br/>
</div>

<a name="post"></a>
<div class="mdetail">
	<h3>post</h3>
	<div class="functionDefine">public function post( url:String, para:String, func:Function )</div>
	<div class="mdetailDetails">
		以POST方法向服务器提交请求。<br/>以JAVA servlet后台为例, 在后台获取提交参数和向页面返回结果时, 须在后台做如下设置：<br/>
		<div class="functionDefine">request.setCharacterEncoding("utf-8");<br/>
			response.setContentType("text/html; charset=GBK");</div>
	</div><br/>
	<div class="mdetailDetails"><b>参数</b>
		<ul>
			<li><em>url</em> : String</li>
			<div class="subDesc">向服务器提交请求的目标URL。</div>
			<li><em>para</em> : String</li>
			<div class="subDesc">本次提交的所有参数集合。</div>
			<li><em>func</em> : Function</li>
			<div class="subDesc">请求响应后的回调函数名。<br/>
			在请求得到响应时, POST方法会自动将本次请求的 XMLHttpRequest 对象做为回调函数 func 的 this, 调用 func 函数。<br/>
			在回调函数中可以通过: this.responseText 或 this.responseXML 获得本次请求的结果。</div>
		</ul>
		<b>返回值</b>
		<ul><li>none</li></ul>
	</div>
	<div class="footer since">@since JSR1.0&nbsp;&nbsp;&nbsp;&nbsp;<a href="ajax_API.html">Return</a></div><br/>
</div>

<a name="setExceptionCallBack"></a>
<div class="mdetail alt">
	<h3>setExceptionCallBack</h3>
	<div class="functionDefine">public function setExceptionCallBack( func:Function )</div>
	<div class="mdetailDetails">设置服务器响应后执行回调时的异常处理函数。</div><br/>
	<div class="mdetailDetails"><b>参数</b>
		<ul>
			<li><em>func</em> : Function</li>
			<div class="subDesc">回调函数名。<br/>
			函数 func 带有一个参数, 当执行发生异常时, POST方法会自动将当前的异常信息为参数, 	调用 func 函数。
			在回调函数中可以通过: parameterName.name 和 parameterName.url 获得当前的异常信息。函数 func 的参数可以忽略。</div>
		</ul>
		<b>返回值</b>
		<ul><li>none</li></ul>
	</div>
	<div class="footer since">@since JSR2.0&nbsp;&nbsp;&nbsp;&nbsp;<a href="ajax_API.html">Return</a></div><br/>
</div>

<a name="setPeriodicalUpdater"></a>
<div class="mdetail">
	<h3>setPeriodicalUpdater</h3>
	<div class="functionDefine">public function setPeriodicalUpdater( obj:Object )</div>
	<div class="mdetailDetails">设置AJAX定时循环更新的参数项。</div><br/>
	<div class="mdetailDetails"><b>参数</b>
		<ul>
			<li><em>obj</em> : Object</li>
			<div class="subDesc">是一个对象型参数集合。<br/><br/>
			参数 obj 语法：{ <em>method:String</em>,&nbsp;&nbsp;<em>url:String</em>,&nbsp;&nbsp;<em>para:String</em>,
			&nbsp;&nbsp;<em>func:Function</em>,&nbsp;&nbsp;<em>time:Number</em> }<br/>
			&nbsp;&nbsp;method : 方法类型<br/>
			&nbsp;&nbsp;url : 目标URL<br/>
			&nbsp;&nbsp;para : 提交的参数集合<br/>
			&nbsp;&nbsp;func : 响应回调函数名<br/>
			&nbsp;&nbsp;time : 更新一次的时间周期<br/>
			</div>
		</ul>
		<b>返回值</b>
		<ul><li>none</li></ul>
	</div>
	<div class="footer since">@since JSR2.0&nbsp;&nbsp;&nbsp;&nbsp;<a href="ajax_API.html">Return</a></div><br/>
</div>

<a name="setTimeout"></a>
<div class="mdetail alt">
	<h3>setTimeout</h3>
	<div class="functionDefine">public function setTimeout( time:Number )</div>
	<div class="mdetailDetails">设置检查AJAX提交请求超时的时间范围。</div><br/>
	<div class="mdetailDetails"><b>参数</b>
		<ul>
			<li><em>time</em> : Number</li>
			<div class="subDesc">时间范围, 单位:毫秒。</div>
		</ul>
		<b>返回值</b>
		<ul><li>none</li></ul>
	</div>
	<div class="footer since">@since JSR1.0&nbsp;&nbsp;&nbsp;&nbsp;<a href="ajax_API.html">Return</a></div><br/>
</div>

<a name="setTimeoutCallBack"></a>
<div class="mdetail">
	<h3>setTimeoutCallBack</h3>
	<div class="functionDefine">public function setTimeoutCallBack( func:Function )</div>
	<div class="mdetailDetails">设置提交请求超时的回调函数。</div><br/>
	<div class="mdetailDetails"><b>参数</b>
		<ul>
			<li><em>func</em> : Function</li>
			<div class="subDesc">回调函数名。</div>
		</ul>
		<b>返回值</b>
		<ul><li>none</li></ul>
	</div>
	<div class="footer since">@since JSR2.0&nbsp;&nbsp;&nbsp;&nbsp;<a href="ajax_API.html">Return</a></div><br/>
</div>

<a name="start"></a>
<div class="mdetail alt">
	<h3>start</h3>
	<div class="functionDefine">public function start()</div>
	<div class="mdetailDetails">启动AJAX的定时循环更新。</div><br/>
	<div class="mdetailDetails"><b>参数</b><ul><li>none</li></ul>
		<b>返回值</b><ul><li>none</li></ul>
	</div>
	<div class="footer since">@since JSR2.0&nbsp;&nbsp;&nbsp;&nbsp;<a href="ajax_API.html">Return</a></div><br/>
</div>

<a name="stop"></a>
<div class="mdetail">
	<h3>stop</h3>
	<div class="functionDefine">public function stop()</div>
	<div class="mdetailDetails">停止AJAX的定时循环更新。</div><br/>
	<div class="mdetailDetails"><b>参数</b><ul><li>none</li></ul>
		<b>返回值</b><ul><li>none</li></ul>
	</div>
	<div class="footer since">@since JSR2.0&nbsp;&nbsp;&nbsp;&nbsp;<a href="ajax_API.html">Return</a></div><br/>
</div>

<a name="submitForm"></a>
<div class="mdetail alt">
	<h3>submitForm</h3>
	<div class="functionDefine">public function submitForm( obj:String|Object, func:Function )</div>
	<div class="mdetailDetails">使用AJAX方式提交指定的FORM表单。</div><br/>
	<div class="mdetailDetails"><b>参数</b>
		<ul>
			<li><em>obj</em> : String|Object</li>
			<div class="subDesc">参数 obj 可以是一个FORM表单的ID, 也可以是一个FORM表单对象。</div>
			<li><em>func</em> : Function</li>
			<div class="subDesc">提交FORM表单后回调处理函数的函数名。<br/>
			回调函数 func 必须带有一个参数, 具体说明详见 <a href="#get">get</a> 或 <a href="#post">post</a> 方法。</div>
		</ul><b>返回值</b>
		<ul><li>none</li>
		<div class="subDesc">如果参数 obj 所对应的FORM表单不存在, 则会抛出一个异常信息。</div></ul>
	</div>
	<div class="footer since">@since JSR2.0&nbsp;&nbsp;&nbsp;&nbsp;<a href="ajax_API.html">Return</a></div><br/>
</div>

</div><br/>

<!--应用示例-->
<a name="examples"></a>
<h2>应用示例</h2>
<div class="properties"><a href="ajax_API.html">ajax_API.html</a></div><br/>

<!--页脚-->
<hr>
<div class="footer">JSR - Copyright &copy; 2007-2008 Jsr JS, LLC<BR>All rights reserved.</div>
</body>
</html>
